function getStyle (obj, attr) {
	 if(obj.currentStyle) {
	 	 return obj.currentStyle[attr];
	 }else{
	 	return window.getComputedStyle(obj, false)[attr];
	 }
}


function startMove (obj, data, func) {
	  clearInterval(obj.timer);
	  var iSpeed;
	  var iCur;
	  var name;
	  startTimer = obj.timer = setInterval(function () {

          var bStop = true;
          for(var attr in data){
          	  if(attr === 'opacity'){
          	  	 name = attr;
          	  	 iCur = parseFloat(getStyle(boj, attr)) * 100;
          	  }else{
          	  	 iCur = parseInt(getStyle(obj, attr));
          	  }
          	  iSpeed = ( data[attr] - iCur) / 2;

          	  if(iSpeed > 0) {
          	  	 iSpeed = Math.ceil(iSpeed);
          	  }else{
          	  	 iSpeed = Math.floor(iSpeed);
          	  }

          	  if(attr === 'opacity'){
          	  	 obj.style.opacity = ( iCur + iSpeed) / 100;
          	  }else{
          	  	  obj.style[attr] = iCur + iSpeed + 'px';
          	  }

          	  if( Math.floor(Math.abs(data[attr] - iCur)) != 0) {
          	  	 bStop = false;
          	  }
          }
          if(bStop){
          	 clearInterval(obj.timer);
          	 if(name === 'opacity'){
          	 	 obj.style.opacity = data[name] / 100;
          	 }
          	 func();
          }
	  },30)
}